﻿using Shop.RemoteModel;
using SqlSugar;

namespace Shop.Model.DB
{
    [SugarTable("Shop_Activity")]
    public class DBShopActivity
    {
        [SugarColumn(IsPrimaryKey = true)]
        public long Id { get; set; }

        /// <summary>
        /// 活动名
        /// </summary>
        public string ActivityTitle { get; set; }

        /// <summary>
        /// 活动说明
        /// </summary>
        public string ActivityShow { get; set; }

        /// <summary>
        /// 活动促销方式
        /// </summary>
        public ActivityType ActivityType { get; set; }

        /// <summary>
        /// 活动开始时间
        /// </summary>
        public DateTime BeginTime { get; set; }

        /// <summary>
        /// 活动结束时间
        /// </summary>
        public DateTime EndTime { get; set; }

        /// <summary>
        /// 用户范围
        /// </summary>
        public ActivityUserRange UserRange
        {
            get;
            set;
        }
        /// <summary>
        /// 用户最低会员等级
        /// </summary>
        public long? UserGrade { get; set; }
        /// <summary>
        /// 是否限制每单购买数量
        /// </summary>
        public bool IsLimitBuyNum { get; set; }
        /// <summary>
        /// 最小限制购买数量
        /// </summary>
        public short MinBuyNum { get; set; }
        /// <summary>
        /// 最大限制数量
        /// </summary>
        public short MaxBuyNum { get; set; }

        /// <summary>
        /// 是否限购一单
        /// </summary>
        public bool IsLimitBuy { get; set; }

        /// <summary>
        /// 优惠范围
        /// </summary>
        public DiscountRangeType Range { get; set; }

        /// <summary>
        /// 参与优惠的商品数量
        /// </summary>
        public int SkuNum { get; set; }

        /// <summary>
        /// 优惠说明
        /// </summary>
        public string DiscountShow { get; set; }

        /// <summary>
        /// 活动状态
        /// </summary>
        public ActivityStatus ActivityStatus { get; set; }

        /// <summary>
        /// 审核员工ID
        /// </summary>
        public long? AuditEmpId { get; set; }

        /// <summary>
        /// 审批意见
        /// </summary>
        public string AuditOpinion { get; set; }

        /// <summary>
        /// 上架时间
        /// </summary>
        public DateTime? OnTime { get; set; }

        /// <summary>
        /// 下架时间
        /// </summary>
        public DateTime? DelistTime { get; set; }

        public DateTime AddTime { get; set; }
    }
}
